package com.qztech.sdk.model.entities;

import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
import androidx.annotation.NonNull;


/**
 * @author:zhanghb
 * @date:2019/2/26
 * @email:2573475062@qq.com
 **/
@Entity(tableName = "xover_channel")
public class XoverChannel implements Cloneable{

    @PrimaryKey(autoGenerate = true)
    private long id;

    @ColumnInfo(name = "channel")
    protected int channel;

    @ColumnInfo(name = "setting_id")
    @NonNull
    private String settingId;

    @ColumnInfo(name = "pass_type")
    private int passType; // 0 没有选， 1 高通 2 低通 3高通bypass 4 低通bypass

    @ColumnInfo(name = "high_freq")
    private int highFrequency = 20;

    @ColumnInfo(name = "high_type")
    private int highType;//0x00宁克,0x01巴特沃斯,0x02贝塞尔

    @ColumnInfo(name = "high_slope")
    private int highSlope;

    @ColumnInfo(name = "low_freq")
    private int lowFrequency = 20000;

    @ColumnInfo(name = "low_type")
    private int lowType;

    @ColumnInfo(name = "low_slope")
    private int lowSlope;

    public XoverChannel() {
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getChannel() {
        return channel;
    }

    public void setChannel(int channel) {
        this.channel = channel;
    }

    public int getPassType() {
        return passType;
    }

    public void setPassType(int passType) {
        this.passType = passType;
    }

    public int getHighFrequency() {
        return highFrequency;
    }

    public void setHighFrequency(int highFrequency) {
        this.highFrequency = highFrequency;
    }

    public int getHighType() {
        return highType;
    }

    public void setHighType(int highType) {
        this.highType = highType;
    }

    public int getHighSlope() {
        return highSlope;
    }

    public void setHighSlope(int highSlope) {
        this.highSlope = highSlope;
    }

    public int getLowFrequency() {
        return lowFrequency;
    }

    public void setLowFrequency(int lowFrequency) {
        this.lowFrequency = lowFrequency;
    }

    public int getLowType() {
        return lowType;
    }

    public void setLowType(int lowType) {
        this.lowType = lowType;
    }

    public int getLowSlope() {
        return lowSlope;
    }

    public void setLowSlope(int lowSlope) {
        this.lowSlope = lowSlope;
    }

    @NonNull
    public String getSettingId() {
        return settingId;
    }

    public void setSettingId(@NonNull String settingId) {
        this.settingId = settingId;
    }

    public Object clone()  {
        try {
            return super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
            return null;
        }
    }
}
